home *** CD-ROM | disk | FTP | other *** search
- using System;
- using System.Windows.Forms;
- using System.Collections;
- using System.ComponentModel;
- using System.Drawing;
- using System.Data;
- using System.Runtime.InteropServices;
- using DesktopSidebar;
-
- namespace NotesEditor
- {
-
- public class Panel :
- System.Windows.Forms.UserControl,
- IPanel,
- IPanelWindow,
- IPanelProperties,
- IPanelContextMenu,
- ICommandTarget,
- DesktopSidebar.ITextOutputParent,
- IListOutputParent,
- IDetailsWndParent
- {
- private System.ComponentModel.Container components = null;
-
- ISkinManager sm;
- bool m_bShowNotesCounter = true;
- bool SDN = true;
- bool TW = true;
- string ICL;
- string DICL;
- ISidebar m_sidebar;
- IPanelParent m_panelParent;
- IPanelConfig m_panelConfig;
- int m_panelCookie;
-
- ITextOutput m_notesCounter;
- IListOutput m_notes;
-
-
- public Panel()
- {
- this.Resize += new System.EventHandler(this.Panel_Resize);
- }
-
-
- protected override void Dispose( bool disposing )
- {
- if( disposing )
- {
- if(components != null)
- {
- components.Dispose();
- }
- }
- base.Dispose( disposing );
- }
-
-
-
-
-
-
- [DllImport("user32.dll", EntryPoint="SetParent")]
- static extern int SetParent(
- int hwndChild,
- int hwndNewParent);
-
-
-
- public void Create(
- int hwndParent,
- Sidebar sidebar,
- IPanelParent parent,
- IPanelConfig config,
- ICanvas canvas,
- IXmlNode configRoot,
- IXmlNode panelConfig,
- IXmlNode settingsRoot,
- IXmlNode panelSettings,
- int cookie)
- {
- m_sidebar=sidebar;
- m_panelParent=parent;
- m_panelCookie=cookie;
- m_panelConfig=config;
- m_panelParent.SetCaption(m_panelCookie,"Notes Editor");
-
- SetParent((int)Handle,hwndParent);
- sm=m_sidebar.GetSkinManager();
- m_notesCounter=sidebar.GetControlFactory().CreateTextOutput();
- m_notesCounter.Init(sidebar.GetGlobalSettings(),sidebar.GetSkinManager(),this,true);
- m_notesCounter.Create((int)Handle,true);
-
- m_notes = sidebar.GetControlFactory().CreateListOutput();
- m_notes.Init(sidebar.GetGlobalSettings(),sidebar.GetSkinManager(),this,true);
- m_notes.Create((int)Handle,true);
- m_notes.ShowRowSeparator(true);
- ICL = m_sidebar.GetTranslator().TranslateCommand("White");
- DICL =m_sidebar.GetTranslator().TranslateCommand("White");
- InitializeNotes(panelSettings);
-
- sidebar.GetTranslator().TranslateDialog2(new DialogTranslator(this),"NotesEditor.Panel");
- UpdateNoteCounter();
- }
-
- private void AddaNote(string sNote)
- {
- try
- {
- DesktopSidebar.IListRow newRow = m_notes.AddRow();
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Black"))
- {
- newRow.SetTextSkin(sm.Name2Id("black"));
- newRow.SetUserData(0,1);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Red"))
- {
- newRow.SetTextSkin(sm.Name2Id("red"));
- newRow.SetUserData(0,2);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Green"))
- {
- newRow.SetTextSkin(sm.Name2Id("green"));
- newRow.SetUserData(0,3);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Yellow"))
- {
- newRow.SetTextSkin(sm.Name2Id("yellow"));
- newRow.SetUserData(0,4);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Blue"))
- {
- newRow.SetTextSkin(sm.Name2Id("blue"));
- newRow.SetUserData(0,5);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Purple"))
- {
- newRow.SetTextSkin(sm.Name2Id("purple"));
- newRow.SetUserData(0,6);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Orange"))
- {
- newRow.SetTextSkin(sm.Name2Id("orange"));
- newRow.SetUserData(0,7);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("White"))
- {
- newRow.SetTextSkin(sm.Name2Id("white"));
- newRow.SetUserData(0,8);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Turquoise"))
- {
- newRow.SetTextSkin(sm.Name2Id("turquoise"));
- newRow.SetUserData(0,9);
- }
- newRow.SetText(sNote);
- }
- catch
- {
- }
- }
-
- private void UpdateNoteCounter()
- {
- string cnt = String.Format("{0} "+ m_sidebar.GetTranslator().TranslateCommand("Notes"), m_notes.size());
- if(m_notes.size()==0)
- {
- cnt = m_sidebar.GetTranslator().TranslateCommand("No Notes");
- }
- if(m_notes.size()==1)
- {
- cnt = String.Format("{0} "+ m_sidebar.GetTranslator().TranslateCommand("Note"), m_notes.size());
- }
- m_notesCounter.SetText(cnt);
- }
-
- private void InitializeNotes(IXmlNode root)
- {
- if (root != null)
- {
- try
- {
- IXmlNode noteRoot = root.GetNode("notes/");
- IXmlNode colorRoot = root.GetNode("colors/");
-
- for(int i=0; i<noteRoot.GetChildCount(); i++)
- {
- IXmlNode note = noteRoot.GetChild(i);
- IXmlNode color = colorRoot.GetChild(i);
- if(color.GetAttribute("color") == "Black")
- {
- this.ICL =m_sidebar.GetTranslator().TranslateCommand("Black");
- }
- if(color.GetAttribute("color") == "Red")
- {
- this.ICL =m_sidebar.GetTranslator().TranslateCommand("Red");
- }
- if(color.GetAttribute("color") == "Green")
- {
- this.ICL =m_sidebar.GetTranslator().TranslateCommand("Green");
- }
- if(color.GetAttribute("color") == "Yellow")
- {
- this.ICL =m_sidebar.GetTranslator().TranslateCommand("Yellow");
- }
- if(color.GetAttribute("color") == "Blue")
- {
- this.ICL =m_sidebar.GetTranslator().TranslateCommand("Blue");
- }
- if(color.GetAttribute("color") =="Purple")
- {
- this.ICL =m_sidebar.GetTranslator().TranslateCommand("Purple");
- }
- if(color.GetAttribute("color") == "Orange")
- {
- this.ICL =m_sidebar.GetTranslator().TranslateCommand("Orange");
- }
- if(color.GetAttribute("color") == "White")
- {
- this.ICL =m_sidebar.GetTranslator().TranslateCommand("White");
- }
- if(color.GetAttribute("color") == "Turquoise")
- {
- this.ICL =m_sidebar.GetTranslator().TranslateCommand("Turquoise");
- }
- AddaNote(note.GetAttribute("text"));
- }
- }
- catch
- {
- string caption = m_sidebar.GetTranslator().Msg("enc");
- string question = m_sidebar.GetTranslator().Msg("ne");
- if(MessageBox.Show(question, caption, MessageBoxButtons.OKCancel ,MessageBoxIcon.Error) == DialogResult.OK)
- {
- System.Diagnostics.Process.Start("http://www.desktopsidebar.com/forums/index.php?showtopic=1925&st=0entry11261");
- }
- }
-
- IXmlNode node1 = root.GetNode("GeneralSettings/");
-
- m_bShowNotesCounter = (node1.GetAttribute("value") == "yes");
- this.SDN = System.Convert.ToBoolean( node1.GetAttribute("sSDN"));
- this.DICL = node1.GetAttribute("sDICL");
- this.TW = System.Convert.ToBoolean( node1.GetAttribute("sTW"));
- if(TW==true)
- {
- m_notes.WrapText(true);
- }
- else
- {
- m_notes.WrapText(false);
- }
-
- }
- }
-
- public int GetFitHeight(int width)
- {
- return m_notes.GetFitHeight(width);
- }
-
- public void Close()
- {
- m_notesCounter.Close();
- m_notes.Close();
- m_notesCounter=null;
- m_notes = null;
- }
-
-
- public bool Tick(bool minute)
- {
- return false;
- }
-
- public void Save(IXmlBuilder panelSettings, IXmlBuilder settingsRoot)
- {
- IXmlBuilder noteRoot = panelSettings.AddChild("notes");
- IXmlBuilder colorRoot = panelSettings.AddChild("colors");
- for(int i=0; i<m_notes.size(); i++)
- {
- IXmlBuilder note = noteRoot.AddChild("note");
- if(m_notes.GetRow(i).GetText()!="")
- {
- note.AddAttribute("text", m_notes.GetRow(i).GetText());
- int rownum = m_notes.GetRow(i).GetUserData(0);
- IXmlBuilder color = colorRoot.AddChild("color");
- if(rownum==1)
- {
- color.AddAttribute("color", "Black");
- }
- if(rownum==2)
- {
- color.AddAttribute("color", "Red");
- }
- if(rownum==3)
- {
- color.AddAttribute("color", "Green");
- }
- if(rownum==4)
- {
- color.AddAttribute("color", "Yellow");
- }
- if(rownum==5)
- {
- color.AddAttribute("color", "Blue");
- }
- if(rownum==6)
- {
- color.AddAttribute("color", "Purple");
- }
- if(rownum==7)
- {
- color.AddAttribute("color", "Orange");
- }
- if(rownum==8)
- {
- color.AddAttribute("color", "White");
- }
- if(rownum==9)
- {
- color.AddAttribute("color", "Turquoise");
- }
- }
- }
-
- IXmlBuilder builder1 = panelSettings.AddChild("GeneralSettings");
- builder1.AddAttribute("value", m_bShowNotesCounter ? "yes" : "no");
- builder1.AddAttribute("sSDN", System.Convert.ToString(SDN));
- builder1.AddAttribute("sDICL", DICL);
- builder1.AddAttribute("sTW", System.Convert.ToString(TW));
- }
-
- public System.IntPtr GetHwnd()
- {
- return Handle;
- }
-
-
- public void OnClick(ITextOutput textOutput, bool dblclk)
- {
- try
- {
- m_sidebar.GetControlFactory().HideAllDetails();
- AddNote dlgNote = new AddNote(m_sidebar);
- dlgNote.setdicl(DICL);
- if (dlgNote.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
- {
- ICL=dlgNote.icl;
- if(dlgNote.GetNote()=="")
- {
- AddaNote(" ");
- }
- else
- {
- AddaNote(dlgNote.GetNote());
- }
- m_notes.Invalidate();
- m_panelParent.ArrangePanels();
- UpdateNoteCounter();
- }
- }
- catch
- {
- }
- }
-
- public void OnDrawBackground(ITextOutput textOutput, IGraphics graphics)
- {
- m_panelParent.DrawControlBackground(graphics,m_panelCookie,textOutput.GetHwnd());
- }
-
- public void OnMouseLeave(ITextOutput textOutput)
- {
- }
-
- public void OnShowDetails(ITextOutput textOutput)
- {
- }
-
- public void OnMouseHover(ITextOutput textOutput)
- {
- }
-
-
- private void ArrangeChildren()
- {
- int counterHeight=0;
-
- SuspendLayout();
-
- if (m_bShowNotesCounter)
- {
- counterHeight=m_notesCounter.GetFitHeight();
- }
-
- m_notesCounter.MoveWindow(0,0,this.Size.Width,counterHeight);
- m_notes.MoveWindow(0,counterHeight,this.Size.Width,this.Height);
- ResumeLayout(false);
- }
- private void Panel_Resize(object sender, System.EventArgs e)
- {
- ArrangeChildren();
- }
-
- private void Panel_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
- {
- IntPtr hdc=e.Graphics.GetHdc();
- IGraphics graphics=m_sidebar.CreateGraphics((int)hdc);
- m_panelParent.DrawPanelBackground(graphics,m_panelCookie);
- e.Graphics.ReleaseHdc(hdc);
- }
-
- #region IPanelProperties Members
-
- public void ShowProperties(int hwnd)
- {
-
- CPropertiesDlg propDlg = new CPropertiesDlg(m_sidebar);
- propDlg.SetShowNotesCounter(m_bShowNotesCounter);
- propDlg.setdn(SDN);
- propDlg.setdicl(DICL);
- propDlg.settw(TW);
- if (propDlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
- {
- m_bShowNotesCounter = propDlg.GetShowNotesCounter();
- SDN = propDlg.dn();
- DICL = propDlg.dicl;
- this.TW=propDlg.twt();
- if(TW==true)
- {
- m_notes.WrapText(true);
- }
- else
- {
- m_notes.WrapText(false);
- }
- ArrangeChildren();
- UpdateNoteCounter();
- }
-
-
- }
-
- #endregion
-
- #region IPanelContextMenu Members
-
- System.IntPtr DesktopSidebar.IPanelContextMenu.GetContextMenu(tagPOINT pt)
- {
- IControlFactory cf=m_sidebar.GetControlFactory();
- System.IntPtr menu=cf.CreatePopupMenu();
- string aan= m_sidebar.GetTranslator().TranslateCommand("Add a note");
- string en= m_sidebar.GetTranslator().TranslateCommand("Empty");
- cf.InsertMenuItem((int)menu,0,aan,101);
- cf.InsertMenuItem((int)menu,0,en,102);
- cf.InsertMenuSeparator((int)menu,2);
- return menu;
- }
-
- #endregion
-
-
- #region ICommandTarget Members
-
- public void OnUpdatePrivateCommand(int id, IUpdateUI pAction)
- {
- }
-
- public void OnPrivateCommand(int id)
- {
-
- if(id==102)
- {
- string caption = m_sidebar.GetTranslator().Msg("enc");
- string question = m_sidebar.GetTranslator().Msg("e");
- if (MessageBox.Show(question, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
- {
- m_notes.Clear();
- UpdateNoteCounter();
- }
- }
-
- if (id==101)
- {
- try
- {
- m_sidebar.GetControlFactory().HideAllDetails();
- AddNote dlgNote = new AddNote(m_sidebar);
- dlgNote.setdicl(DICL);
- if (dlgNote.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
- {
- ICL=dlgNote.icl;
- if(dlgNote.GetNote()=="")
- {
- AddaNote(" ");
- }
- else
- {
- AddaNote(dlgNote.GetNote());
- }
- m_notes.Invalidate();
- m_panelParent.ArrangePanels();
- UpdateNoteCounter();
- }
- }
- catch
- {
- }
- }
- }
-
- public void OnCommand(string cmdName)
- {
-
- }
-
- public void OnUpdateCommand(string cmdName, IUpdateUI pAction)
- {
-
- }
-
- public int GetPrivateCommandImage(int id)
- {
- if(id==102)
- {
- return 29;
-
- }
- if(id==101)
- {
- return 16;
- }
- return -1;
- }
-
- #endregion
-
-
-
- #region IListOutputParent Members
-
- void DesktopSidebar.IListOutputParent.OnClick(IListOutput list,IListRow row , bool dbclk)
- {
- m_sidebar.GetControlFactory().HideAllDetails();
-
- EditNote dlgNote2 = new EditNote(m_sidebar);
- dlgNote2.SetNote(row.GetText());
- dlgNote2.setsdn(SDN);
- int rownum = row.GetUserData(0);
- if(rownum==1)
- {
- dlgNote2.setcolor( m_sidebar.GetTranslator().TranslateCommand("Black"));
- }
- if(rownum==2)
- {
- dlgNote2.setcolor( m_sidebar.GetTranslator().TranslateCommand("Red"));
- }
- if(rownum==3)
- {
- dlgNote2.setcolor( m_sidebar.GetTranslator().TranslateCommand("Green"));
- }
- if(rownum==4)
- {
- dlgNote2.setcolor( m_sidebar.GetTranslator().TranslateCommand("Yellow"));
- }
- if(rownum==5)
- {
- dlgNote2.setcolor( m_sidebar.GetTranslator().TranslateCommand("Blue"));
- }
- if(rownum==6)
- {
- dlgNote2.setcolor( m_sidebar.GetTranslator().TranslateCommand("Purple"));
- }
- if(rownum==7)
- {
- dlgNote2.setcolor( m_sidebar.GetTranslator().TranslateCommand("Orange"));
- }
- if(rownum==8)
- {
- dlgNote2.setcolor( m_sidebar.GetTranslator().TranslateCommand("White"));
- }
- if(rownum==9)
- {
- dlgNote2.setcolor( m_sidebar.GetTranslator().TranslateCommand("Turquoise"));
- }
- dlgNote2.ShowDialog(this);
- if (dlgNote2.DialogResult == System.Windows.Forms.DialogResult.OK)
- {
- if(dlgNote2.GetNote()=="")
- {
- ICL=dlgNote2.icl;
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Black"))
- {
- row.SetTextSkin(sm.Name2Id("black"));
- row.SetUserData(0,1);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Red"))
- {
- row.SetTextSkin(sm.Name2Id("red"));
- row.SetUserData(0,2);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Green"))
- {
- row.SetTextSkin(sm.Name2Id("green"));
- row.SetUserData(0,3);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Yellow"))
- {
- row.SetTextSkin(sm.Name2Id("yellow"));
- row.SetUserData(0,4);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Blue"))
- {
- row.SetTextSkin(sm.Name2Id("blue"));
- row.SetUserData(0,5);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Purple"))
- {
- row.SetTextSkin(sm.Name2Id("purple"));
- row.SetUserData(0,6);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Orange"))
- {
- row.SetTextSkin(sm.Name2Id("orange"));
- row.SetUserData(0,7);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("White"))
- {
- row.SetTextSkin(sm.Name2Id("white"));
- row.SetUserData(0,8);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Turquoise"))
- {
- row.SetTextSkin(sm.Name2Id("turquoise"));
- row.SetUserData(0,9);
- }
- row.SetText(" ");
-
- }
- else
- {
- ICL=dlgNote2.icl;
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Black"))
- {
- row.SetTextSkin(sm.Name2Id("black"));
- row.SetUserData(0,1);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Red"))
- {
- row.SetTextSkin(sm.Name2Id("red"));
- row.SetUserData(0,2);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Green"))
- {
- row.SetTextSkin(sm.Name2Id("green"));
- row.SetUserData(0,3);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Yellow"))
- {
- row.SetTextSkin(sm.Name2Id("yellow"));
- row.SetUserData(0,4);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Blue"))
- {
- row.SetTextSkin(sm.Name2Id("blue"));
- row.SetUserData(0,5);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Purple"))
- {
- row.SetTextSkin(sm.Name2Id("purple"));
- row.SetUserData(0,6);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Orange"))
- {
- row.SetTextSkin(sm.Name2Id("orange"));
- row.SetUserData(0,7);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("White"))
- {
- row.SetTextSkin(sm.Name2Id("white"));
- row.SetUserData(0,8);
- }
- if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Turquoise"))
- {
- row.SetTextSkin(sm.Name2Id("turquoise"));
- row.SetUserData(0,9);
- }
- row.SetText(dlgNote2.GetNote());
- }
- }
- if (dlgNote2.DialogResult == System.Windows.Forms.DialogResult.Abort)
- {
- m_notes.Delete(row);
- }
-
- m_notes.Invalidate();
- m_panelParent.ArrangePanels();
- UpdateNoteCounter();
-
- }
-
-
-
-
-
- public void OnShowDetails(IListOutput list, IListRow row)
- {
- }
-
-
- public void OnLeave(IListOutput list, IListRow row)
- {
- }
-
- public void OnScrolled(IListOutput list)
- {
-
- }
-
- public void OnHover(IListOutput list, IListRow row)
- {
-
- }
-
-
- void DesktopSidebar.IListOutputParent.OnDrawBackground(IListOutput list , IGraphics graphics)
- {
- m_panelParent.DrawControlBackground(graphics,m_panelCookie,list.GetHwnd());
- }
-
- #endregion
-
-
-
- #region IDetailsWndParent Members
-
- void DesktopSidebar.IListOutputParent.OnShowDetails(IListOutput list, IListRow row)
- {
- ITextDetailsWnd details = m_sidebar.GetControlFactory().CreateTextDetailsWnd();
- ((IDetailsWnd)details).Init(m_sidebar.GetGlobalSettings(),m_sidebar.GetSkinManager(),m_panelConfig, this,m_sidebar.GetTranslator().TranslateCommand("Notec"));
-
- tagPOINT origin;
- origin.x = 0;
- origin.y = 0;
-
- tagSIZE size;
- size.cx = 0;
- size.cy = 0;
-
- ((IDetailsWnd)details).Create((int)Handle, (int)EDetailFlags.DC_IGNOREORIGIN | (int)EDetailFlags.DC_IGNORESIZE, ref origin, ref size);
-
- details.Set(row.GetText());
-
- list.TakeoverDetails(details, row);
-
- }
-
- public void OnCreateDetailsWnd(object details)
- {
-
- }
-
- public void OnCloseDetailsWnd(object details)
- {
-
- }
-
- #endregion
- }
- }
-